/*
 * Copyright (c) Tan Menglong <TanMenglong@gmail.com> <+86-15972108715>
 * All rights reserved.
 *
 * This file is part of the RabbitOS.  The RabbitOS is free software, also known
 * as "open source;" you can redistribute it and/or modify it under the terms
 * of the GNU General Public License (GPL), version 2, as published by the Free
 * Software Foundation (FSF).  To explore alternate licensing terms, contact
 * the Rabbit OS team.
 * 
 * The RabbitOS is distributed in the hope that it will be useful, but WITHOUT 
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GPL for more details.  You should have
 * received a copy of the GPL along with the RabbitOS; see the file COPYING. If
 * not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307, USA.
 *
 */
/*
 * Declarations of functions to operate console.
 * 02-May-08
 */

#ifndef _RABBIT_CONSOLE_H
#define _RABBIT_CONSOLE_H

#include <asm/io.h>
#include <string.h>

struct cursor_struct {
	int x;
	int y;
};
typedef struct cursor_struct cursor_t;
extern cursor_t cursor;

extern void console_init(void);
extern void console_putc(const char);
extern void console_puts(const char *);
extern void console_putstring(const char *c, char fcolor, char bcolor);
extern void console_putchar(const char c, char fcolor, char bcolor);
extern void console_cursor_newline(void);
extern void console_next_cursor(void);
extern void console_clear(void);
extern void console_scroll(void);
extern void console_set_cursor(int x, int y);
extern void console_move_cursor(void);

#endif							//_RABBIT_CONSOLE_H
